Electronic exchanges, implemented as Electronic Communication Networks (ECNs), are often used to electronically trade a wide range of commodities, stocks and/or other items having real world significance. An ECN normally receives messages, e.g., an order from a trader, performs a matching operation, and if a matching order exists, performs a trade. The resulting trade is reported to the traders which placed the matching orders and also to a public system, e.g., for updating published information about the current price of a stock, commodity or other item being traded on the exchange.
Electronic trading on an electronic exchange allows for large numbers of orders to be stored, processed, and executed at relatively low cost. The speed at which a trade can be executed is important since a delay in processing of a message including an order to buy or sell may affect the dollar amount at which the trade is made.
In the event that a trader's system, referred to herein as a trader system, or the ECN detect a miss-match in sequence numbers, indicating that either the trader system or the ECN has lost one or more messages, action to resolve the sequence number miss-match is often required. This often involves the system with the higher message sequence number communicating the messages which are missing from the other device's records.
The playback of lost or missing messages may involve a fair amount of communication given that trading sessions may go on for a long period of time, e.g., several days, and a large number of messages may be missing, e.g., as indicated by a large gap between the message sequence number used by one device and the higher message sequence number known to the other device based on previously received or transmitted messages.
The communications path between the gateway device and a trader's system is intended to be a relatively high speed communications path. A portion of the high speed communications path with the gateway may be shared by multiple traders. The messages transmitted on the high speed communications path to the client gateway are usually relatively small in terms of the amount of data they communicate. While individual messages may be short in duration, the playback of a large number of messages in order to provide a device with missing messages may place a strain on the bandwidth of the high speed communications path with the client gateway which may interfere or delay the transmission of new trading messages, e.g., orders to buy or sell a stock.
In view of the above, it should be appreciated that there is a need for improved methods of detecting a loss or failure to receive messages in a sequence, for improved methods and/or apparatus for requesting missing messages and/or for improved methods and/or apparatus for responding to requests for missing messages.
While there is much room for improvement it should be appreciated that systems and apparatus which address one or more of the above issues are useful and desirable and that all embodiments need not address all of the above discussed problems.